package com.space.jwt.common.util;

import com.baomidou.mybatisplus.annotations.TableField;

import java.lang.reflect.Field;
import java.util.Map;

/**
 * @标题：针对Mybatis-plus 定制的查询工具类
 * @描述：针对Mybatis-plus 定制的查询工具类
 * @包名：com.space.jwt.common.util
 * @项目名：basic-data-services
 * @公司：
 * @创建者：space
 * @修改者：space
 * @创建日期： 2018-11-21- 11:44
 * @修改日期： 2018-11-21- 11:44
 * @版本：1.0
 */
public class QueryUtils<T> {

    /**
     * 根据前端传入参数将实体对应的字段名转为数据库表字段名
     *
     * @param object
     * @param source
     * @return
     */
    public static Map<String, Object> getRealMap(Object object, Map<String, Object> source) {
        Field[] fieldst = object.getClass().getDeclaredFields();
        for (Field field : fieldst) {
            for (Map.Entry<String, Object> mapEntry : source.entrySet()) {
                if (field.getName().equals(mapEntry.getKey())) {
                    TableField t = (TableField) field.getAnnotation(TableField.class);
                    if(t.value().equals(mapEntry.getKey())){
                    }else {
                        source.put(t.value(), mapEntry.getValue());
                        source.remove(mapEntry.getKey());
                    }
                }
            }
        }
        return source;
    }
}
